package com.mdb.open.trade.domain.dto.trade;

import com.mdb.bc.api.data.DataObjectBase;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;


/**
 * @description:
 * @author: you.yichao
 * @create: 2019-08-09 00:24
 **/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="TradeFileSaveDto", description="融资档案保存Dto对象")
public class TradeFileSaveDto extends DataObjectBase {

    /**
     * 融资档案业务基本资料
     */
    @Valid
    @ApiModelProperty(value = "融资档案业务基本资料")
    @NotNull(message = "融资档案业务基本资料不能为空")
    private TradeFileBasicInfoDto tradeFileBasicInfoDto;

    /**
     * 融资档案报关信息列表
     */
    @Valid
    @ApiModelProperty(value = "融资档案报关信息列表")
    @NotEmpty(message = "融资档案报关信息列表不能为空")
    private List<TradeFileCustomsListDto> tradeFileCustomsListDtoList;

    /**
     * 贸易档案额外信息
     */
    @ApiModelProperty(value = "贸易档案额外信息")
    @Valid
    private TradeFileExtendInfoDto tradeFileTempExtendInfoDto;

    /**
     * 贸易档案附件信息
     */
    @Valid
    @ApiModelProperty(value = "贸易档案附件信息")
//    @NotEmpty(message = "贸易档案附件信息不能为空")
    private List<TradeFileAttachDto> tradeFileAttachDtoList;
}
